package com.zzl.bonds.ticket.dto.ticketopen;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import com.zzl.bonds.ticket.dto.KeyValue;
import com.zzl.general.common.utils.DoubleSerialize;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author : spp
 * @date : 2022/2/17 15:13
 */
@Data
@ApidocModel
public class TicketOpenPage {
    @ApidocModelProperty(description = "主键 uuid/ 业务流水号")
    private String id;

    @ApidocModelProperty(description = "票据编号")
    private String ticketNo;

    @ApidocModelProperty(description = "收单企业id")
    private String receiveEnterpriseId;
    @ApidocModelProperty(description = "收单企业名称")
    private String receiveEnterpriseName;
    @JsonSerialize(using = DoubleSerialize.class)
    @ApidocModelProperty(description = "凭证金额")
    private Double ticketAmount;
    @ApidocModelProperty(description = "开单企业id")
    private String openEnterpriseId;
    @ApidocModelProperty(description = "开单企业名称")
    private String openEnterpriseName;
    @ApidocModelProperty(description = "金融机构Id")
    private Integer instinctyId;
    @ApidocModelProperty(description = "金融机构名称")
    private String instinctyName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "开单日期", validate = "yyyy-MM-dd")
    private Date invoiceTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "到期日期", validate = "yyyy-MM-dd")
    private Date expireTime;


    @ApidocModelProperty(description = "上链地址")
    private String chainAddress;

    @ApidocModelProperty(description = "处理状态")
    private String handStatus;
    @ApidocModelProperty(description = "处理状态信息悬浮")
    private String handStatusInfo;
    @ApidocModelProperty(description = "处理进度，如25")
    private Integer handProgress;
    @ApidocModelProperty(description = "操作按钮集合")
    private List<KeyValue> operateButton;


    /**
     * 授信id
     */
    private String coreEnterpriseCreditId;
    private Integer sourceType;
    private Integer ticketStatus;
    private Integer approveStatus;

}
